java Tomcat 6 java_主页
我试图设置JAVA_主路径,因为我的Tomcat服务器正在寻找它。我试图设置它,但它似乎不工作,并导致错误时,我这样做。我试图在setclasspath中设置JAVA。蝙蝠使用
set JAVA_HOME="C:\Program Files (x86)\Java\jre7"
这是setclasspath的开始。蝙蝠
set JAVA_HOME="C:\Program Files (x86)\Java\jre7"
if not "%JAVA_HOME%" == "" goto gotJdkHome
if not "%JRE_HOME%" == "" goto gotJreHome
echo Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
echo At least one of these environment variable is needed to run this program
goto exit
当我设置并运行“startup.bat start”时,它会显示出来
Files was unexpected at this time
你能帮我吗
# 1 楼答案
将路径放在引号中:
该错误是因为它正在将程序文件中的文件作为一个单独的参数进行解析,这是SET所不期望的。为什么SET没有正确地阅读它我不能不知道更多关于你使用的操作系统,运行Tomcat的命令外壳等等
# 2 楼答案
你指的是一个JRE。您需要指向一个JDK,考虑到JRE的位置,它可能是
C:\Program Files (x86)\Java\jdk1.6.0_26
或类似的东西。或者,如果只安装了JRE,则需要安装完整的JDK。Tomcat需要能够将JSP编译成。类文件,这是JRE无法做到的# 3 楼答案
注意:我意识到这已经是一个老生常谈的问题,但这里发布的许多答案要么不完整,要么不准确。。希望这能帮你省去一些麻烦
首先:Tomcat不需要运行JDK,只要知道它是JRE,它就可以与JRE一起工作
其次,原始问题的错误来自于
set JAVA_HOME=...
命令的语法问题。Apache本身可以通过剥离和添加"
引号来更好地处理它此外,我强烈建议在
bin
文件夹中创建一个setenv.bat
文件。默认情况下,它是不存在的,所以如果您还没有,请创建它并在那里添加set JAVA_HOME=...
或set JRE_HOME=...
行使用JRE运行
根据running.txt:
因此,要以这种方式启动,您需要以下几点:
清除
JAVA_HOME
变量是一种故障保护,但实际上并不需要。根据文档,Tomcat将首先尝试使用JRE变量问题解决方案
特别注意引号的位置。这样可以将整个字符串保存在一个变量中,而不在变量内容本身中包含引号
例如:
将输出
""hello""
将输出
"hello"
因此,启动批处理文件脚本试图使用
""C:\Program Files (x86)\Java\jre7""
,其中第一个非转义空间位于“程序”和“文件”之间正如前面所指出的,删除引号(至少在这个特殊情况下)是可行的,但依赖它是危险的。相反,从一开始就要确保安全,并将变量名和值用引号括起来
# 4 楼答案
setlocal
之后和rem Guess CATALINA_HOME if not defined
之前添加以下(示例)行现在尝试重新运行
startup.bat
# 5 楼答案
如果无法手动设置变量: 设置
JAVA_HOME and JRE_HOME
转到高级系统设置并单击
environment
变量在
system
变量下单击JAVA_HOME
变量值:
[path of jdk]C:\Program Files\Java\jdk1.8.0_181
并单击确定同样地,添加
JRE_HOME
JRE_HOME
[path of jre]C:\Program Files\Java\jre1.8.0_181
# 6 楼答案
我在Windows 7上也遇到了同样的问题,定义如下(我把它放在tomcat 7的RUNNING.txt指定的jdk bin文件夹中的setenv.bat文件中)
我只是试着把双引号全部去掉:
然后tomcat开始了